package com.member.dto;

import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.springframework.format.annotation.DateTimeFormat;

import java.io.Serializable;
import java.util.Date;

/**
    * 签约管理

    */
@ApiModel(description="签约管理 ")
public class ContractManagement implements Serializable {
    /**
     * 渠道ID
     */
    @ApiModelProperty(value = "渠道ID,")
    private String channelId;

    /**
     * 签约发起APP
     */
    @ApiModelProperty(value = "签约发起APP,")
    private String appId;

    /**
     * 会员id
     */
    @ApiModelProperty(value = "会员id")
    private String memberId;

    /**
     * 用户名称
     */
    @ApiModelProperty(value = "用户名称")
    private String userName;

    /**
     * 身份证号
     */
    @ApiModelProperty(value = "身份证号,")
    private String cardId;

    /**
     * 手机号
     */
    @ApiModelProperty(value = "手机号,,")
    private String mobile;

    /**
     * 支付方式
     */
    @ApiModelProperty(value = "支付方式")
    private Integer paytype;

    /**
     * 签约协议号
     */
    @ApiModelProperty(value = "签约协议号,")
    private String protocol;

    /**
     * 签约账户
     */
    @ApiModelProperty(value = "签约账户")
    private String contractAccount;

    /**
     * 签约扣款账户类型
     */
    @ApiModelProperty(value = "签约扣款账户类型")
    private String accountType;

    /**
     * 默认支付方式
     */
    @ApiModelProperty(value = "默认支付方式,")
    private Integer defaultPay;

    /**
     * 发卡机构代码
     */
    @ApiModelProperty(value = "发卡机构代码")
    private String issInsCode;

    /**
     * 签约时间
     */
    @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @ApiModelProperty(value = "签约时间")
    private Date contractDate;


    @ApiModelProperty(value = "签约状态")
    private Integer signStatus;

    private static final long serialVersionUID = 1L;

    @Override
    public String toString() {
        return "ContractManagement{" +
                "channelId='" + channelId + '\'' +
                ", appId='" + appId + '\'' +
                ", memberId='" + memberId + '\'' +
                ", userName='" + userName + '\'' +
                ", cardId='" + cardId + '\'' +
                ", mobile='" + mobile + '\'' +
                ", paytype=" + paytype +
                ", protocol='" + protocol + '\'' +
                ", contractAccount='" + contractAccount + '\'' +
                ", accountType='" + accountType + '\'' +
                ", defaultPay=" + defaultPay +
                ", issInsCode='" + issInsCode + '\'' +
                ", contractDate=" + contractDate +
                ", signStatus=" + signStatus +
                '}';
    }

    public String getChannelId() {
        return channelId;
    }

    public void setChannelId(String channelId) {
        this.channelId = channelId;
    }

    public String getAppId() {
        return appId;
    }

    public void setAppId(String appId) {
        this.appId = appId;
    }

    public String getMemberId() {
        return memberId;
    }

    public void setMemberId(String memberId) {
        this.memberId = memberId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getCardId() {
        return cardId;
    }

    public void setCardId(String cardId) {
        this.cardId = cardId;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public Integer getPaytype() {
        return paytype;
    }

    public void setPaytype(Integer paytype) {
        this.paytype = paytype;
    }

    public String getProtocol() {
        return protocol;
    }

    public void setProtocol(String protocol) {
        this.protocol = protocol;
    }

    public String getContractAccount() {
        return contractAccount;
    }

    public void setContractAccount(String contractAccount) {
        this.contractAccount = contractAccount;
    }

    public String getAccountType() {
        return accountType;
    }

    public void setAccountType(String accountType) {
        this.accountType = accountType;
    }

    public Integer getDefaultPay() {
        return defaultPay;
    }

    public void setDefaultPay(Integer defaultPay) {
        this.defaultPay = defaultPay;
    }

    public String getIssInsCode() {
        return issInsCode;
    }

    public void setIssInsCode(String issInsCode) {
        this.issInsCode = issInsCode;
    }

    public Date getContractDate() {
        return contractDate;
    }

    public void setContractDate(Date contractDate) {
        this.contractDate = contractDate;
    }

    public Integer getSignStatus() {
        return signStatus;
    }

    public void setSignStatus(Integer signStatus) {
        this.signStatus = signStatus;
    }
}